home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / infoserv / www / cern / doc / www-talk.archive.Z / www-talk.archive / text0376.txt < prev    next >
Encoding:
Text File  |  1992-11-30  |  2.9 KB  |  91 lines

  1.  
  2. >Dan Connolly writes:
  3. >> Hmmm... we definitely need a CSCW strategy for group-editing of
  4. >> documents.
  5. >
  6. >I'm pulling this outta my rear end, but how about:
  7. >
  8. >(a) Anyone who wishes to annotate a document must be running HTTP or
  9. >    have some other way of making his annotation available as a
  10. >    document from his machine to the web -- possibly too much grunge
  11. >    work for real ``users'' as opposed to hackers.
  12.  
  13. Ding! The light goes on: Let's use USENET news! Scenario:
  14.  
  15. 1. I'm reading http://info.cern.ch/hypertext/WWW/MarkUp.html.
  16.  
  17. 2. I see something I want to change, so I save the HTML to
  18. a file.
  19.  
  20. 3. I edit the file, trimming it down and adding my comments.
  21.  
  22. 4. I enclose the file in a news article using the MIME text/x-html
  23. content type and the quoted-printable content transfer encoding.
  24.  
  25. 5. I post the article to comp.infosystems or alt.infosystems.www.
  26.  
  27. 6. I make a URL out of the message-id of the article, and I
  28. send
  29. LINK /hypertext/WWW/MarkUp.html
  30. <A HREF="news:<message-id>">Comments by connolly@convex.com</a>
  31. .
  32.  
  33. to the HTTP server at info.cern.ch.
  34.  
  35. 7. We add MIME style message/rfc-822 parsing to the browser. See below.
  36.  
  37. 8. I'm browsing the annotated http://info.cern.ch/hypertext/WWW/MarkUp.html
  38. and I click on "Comments by connolly@convex.com". The browser contacts
  39. its NNTP server and grabs message-id.
  40.  
  41. 9. It extracts the body, and displays the result as HTML.
  42.  
  43.  
  44. Ding! Another light goes on. Here's how to handle MIME body parts:
  45.  
  46. We need a function:
  47.  
  48. void
  49. HText_AppendBodyPart(HText* target, int (*getch)(void*), void* stream,
  50.     int type, int subtype, char* params);
  51. /*
  52.  * PRE:
  53.  * target -- hypertext object "in append mode"
  54.  * getch -- get one character from stream object
  55.  * stream -- opaque stream object
  56.  * type -- one of the 7 mime primary types: MIME_TEXT, MIME_MESSAGE, etc.
  57.  * subtype -- plain, html, postscript, gif, basic, multipart, etc.
  58.  * params -- "name=val; name=val;..." parameters
  59.  *
  60.  * POST:
  61.  * body part on stream has been consumed and appended to or linked
  62.  * to target.
  63.  */
  64.  
  65. text/html -- append as SGML text entity
  66. text/* -- append as plain text
  67.     to the SGML parser, it's an external entity text/plain NOTATION
  68. multipart/* -- find boundary on stream
  69.     create a new stream object out of getch, stream,
  70.     and params that returns eof at the boundary
  71.     call HText_AppendBodyPart recursively
  72. message/rfc-822 -- parse headers, display headers as
  73.      <DL><DT>Subject<DD>foo...</DL>
  74.     append body part recursively
  75. message/external-body -- create a URL out of params. Parse
  76.     message headers. Display as
  77.     <H2><A href="URL" type="type/subtype params">description</a><H2>
  78. */* -- save to local file foo. display as
  79.     <H2><a HREF="file:foo" TYPE="type/subtype params">description</a></H2>
  80.     where description is the content-description, if available, or
  81.     "a body part of type image/gif" otherwise.
  82.  
  83. Then we can add a separate command that takes a link, opens it, and
  84. pipes it through metamail.
  85.  
  86. Hmmm... I gotta go code this up!
  87.  
  88. Dan
  89.  
  90.  
  91.